// pages/geshuiShare/geshuiShare.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //分享朋友圈
    avatarUrl: '',
    nickName: '',
    canvasHidden: true,     //设置画板的显示与隐藏，画板不隐藏会影响页面正常显示
    saveMoney: 0,
    portrait_temp:''//用户头像临时文件

  },
  uploadImg:function(e){
    console.log('上传图片')
    
    // 让用户选择一张图片
    wx.chooseImage({
      success: chooseResult => {
        // 将图片上传至云存储空间
        wx.cloud.uploadFile({
          // 指定上传到的云路径
          cloudPath:'1my-photo.png',
          // 指定要上传的文件的小程序临时文件路径
          filePath: chooseResult.tempFilePaths[0],
          // 成功回调
          success: res => {
            console.log('上传成功', res)
          },
        })
      },
    })
  },


  // 获取授权用户信息
  btn_sub: function (res) {

    var that = this
    wx.showLoading({
      title: '努力生成中...'
    })
    // 1.拿到用户信息
    // 声明一个变量接收用户授权信息
    var userinfos = res.detail.userInfo;
    // 判断是否授权  true 替换微信用户头像
    if (userinfos != undefined) {
      console.log(userinfos);
      this.setData({
        avatarUrl: userinfos.avatarUrl,
        nickName: userinfos.nickName,
      })
    }

    //2.获得用户头像信息
    wx.cloud.callFunction({
      name:'LMhttp',
      data:{
        $url: "postImg", // 要调用的路由的路径，传入准确路径或者通配符*
        url: userinfos.avatarUrl
      },
      success: res => {
        wx.cloud.downloadFile({
          fileID: res.result.imgSrc.fileID,
          success: res1 => {
            console.log("获得微信用户头像下载");
            //缓存头像图片
            this.setData({
              portrait_temp: res1.tempFilePath
            })
            //3.调用绘图工具
            this.drawImage();
          }
        })
      }
    })

  },

  /**
   * 3.绘制图片
   */
  drawImage: function () {
    console.log('绘制canvas图片')
    //绘制canvas图片
    var that = this
    const ctx = wx.createCanvasContext('shareImg')
    var bgPath = '../../images/friendshare.jpg'
    var portraitPath = that.data.portrait_temp
    var hostNickname = that.data.nickName

    var qrPath = that.data.qrcode_temp;
    var windowWidth = 750;
    var windowHeight = 1334;
    //绘制背景图片
    ctx.drawImage(bgPath, 0, 0, 750, 1334)
    
    //绘制头像
    ctx.save()
    ctx.beginPath()
    ctx.arc(0.7 * windowWidth, 0.75 * windowWidth, 0.15 * windowWidth, 0, 2 * Math.PI)
    ctx.clip()
    ctx.drawImage(portraitPath, 0.55 * windowWidth, 0.6 * windowWidth, 0.3 * windowWidth, 0.3 * windowWidth)
    ctx.restore()

    //绘制第一段文本
    ctx.setFillStyle('#ffffff')
    ctx.setFontSize(0.067 * windowWidth)
    ctx.setTextAlign('center')
    ctx.fillText(hostNickname, 230, 640)

    //节约多少税收
    ctx.setFillStyle('#ffffff')
    ctx.setFontSize(0.067 * windowWidth)
    ctx.setTextAlign('center')
    ctx.fillText("￥123587", 480, 790)

    ctx.draw();
    var that = this;
    setTimeout(function () {
      that.canvasToImage()
      console.log('开始绘制图片转出图片')
    }, 200)
  },

  /**
   * 画板上的绘画转为图片
  */ 
  canvasToImage: function () {
    var that = this
    wx.canvasToTempFilePath({
      x: 0,
      y: 0,
      width: 750,
      height: 1334,
      destWidth: 750 * 4,
      destHeight: 1334 * 4,
      canvasId: 'shareImg',
      success: function (res) {
        console.log('朋友圈分享图生成成功:' + res.tempFilePath)
        that.setData({
          prurl: res.tempFilePath,
          canvasHidden: false
        })
        wx.hideLoading()
      },
      fail: function (err) {
        console.log(err)
        wx.hideLoading()
      }
    })
  },

  /**
   * 保存到相册
  */
  savePhone: function () {
    var that = this
    //生产环境时 记得这里要加入获取相册授权的代码
    wx.saveImageToPhotosAlbum({
      filePath: that.data.prurl,
      success(res) {
        wx.showModal({
          content: '图片已保存到相册，赶紧晒一下吧~',
          showCancel: false,
          confirmText: '好哒',
          confirmColor: '#72B9C3',
          success: function (res) {
            if (res.confirm) {
              console.log('用户点击确定');
              that.setData({
                canvasHidden: true
              })
            }
          }
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

    //获取屏幕的宽/高/比例
    this.setData({
      windowWidth: getApp().globalData.windowWidth,
      windowHeight: getApp().globalData.windowHeight,
      scaleWH: getApp().globalData.scaleWH
    })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})